package com.yungu.swift.order.model.param;

import com.yungu.swift.base.model.api.ApiParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 跨城拼车下单参数
 *
 * @author : cuixiuyin
 * @date : 2019/11/26
 */
@Data
public class ApiJoinOrderParam extends ApiParam {

    @NotNull
    @ApiModelProperty(value = "订单行程类型（1实时订单 2预约订单）")
    private Integer typeTime;

    @ApiModelProperty(value = "预约出发时间（实时单可传空）")
    private Date deparTime;

    @NotNull
    @ApiModelProperty(value = "起点UUID")
    private String originUuid;

    @NotNull
    @ApiModelProperty(value = "终点UUID")
    private String destUuid;

    @NotNull
    @ApiModelProperty(value = "车型UUID")
    private String carModelUuid;

    @NotNull
    @ApiModelProperty(value = "拼车类型（1拼车 2包车 3小件 4二人快车）")
    private Integer typeJoin;

    @NotNull
    @ApiModelProperty(value = "乘客数量")
    private Integer adultNum;

    @ApiModelProperty(value = "起点城市")
    private String originCity;

    @ApiModelProperty(value = "上车点")
    private String originAddress;

    @ApiModelProperty(value = "上车点的详细地址")
    private String originDetailAddress;

    @ApiModelProperty(value = "上车点经度")
    private Double originLng;

    @ApiModelProperty(value = "上车点纬度")
    private Double originLat;

    @ApiModelProperty(value = "终点城市")
    private String destCity;

    @ApiModelProperty(value = "下车点")
    private String destAddress;

    @ApiModelProperty(value = "下车点的详细地址")
    private String destDetailAddress;

    @ApiModelProperty(value = "下车点经度")
    private Double destLng;

    @ApiModelProperty(value = "下车点纬度")
    private Double destLat;

    @ApiModelProperty(value = "实际乘车人")
    private String actualName;

    @ApiModelProperty(value = "实际乘车人电话")
    private String actualMobile;

    @ApiModelProperty(value = "发起地行政区划代码")
    private String originAreaCode;

    @ApiModelProperty(value = "乘客发单经度")
    private String passengerLng;

    @ApiModelProperty(value = "乘客发单纬度")
    private String passengerLat;

    @ApiModelProperty(value = "订单备注")
    private String remark;

    @ApiModelProperty(value = "订单来源：1 APP移动端；2 微信公众号；3 电话叫车；4 pc网站； 5 后台下单； 6 小程序下单")
    private Integer orderSource;

    @ApiModelProperty(value = "订单需求：1经济拼车 2二人快车")
    private Integer orderDemand;

    @ApiModelProperty(value = "订单来源备注")
    private String sourceRemark;

    @ApiModelProperty(value = "估价ID")
    private String evaluateUuid;

    @ApiModelProperty(value = "司机id")
    private String driverUuid;
}
